// 引入http模块
var http = require('http');
var urlParse = require('url');
// 引入自定义函数
var Compile = require('./myFunc');

// 引入自定义db函数
var db = require('./db');

var comp = new Compile();


// 创建服务
// req是请求对象
// res是响应对象
http.createServer(function(req, res) {

    var req1 = urlParse.parse(decodeURI(req.url), true);
    var pathname = req1.pathname;

    if (pathname === '/favicon.ico') return res.end();

    // 文件路径
    var path = "html/index.html";

    // 替换url开头的 /
    path = pathname == "/" ? path : pathname.replace(/^\//, '');
    
    // 接口
    if (path === "api") {   
        // GET请求
        if (req.method == "GET") {
            get(req1, res);
        } else {
            // POST请求
            post(req1, res);
        }

    } else {
        // 静态文件
        comp.read(path, function(err, data) {

            if (!err) {
                res.end(data);
            } else {
                res.end('404 Not Found!');
            }

        });
    }

}).listen(8080, function(err) {
    if (!err) console.log("Server is listening at port 8080");
});


// get方法
function get(req, res) {

    switch(req.query.action) {
        case "getFitList":
            getFitList(res);
            break;
        case "getXiaoDi":
            getXiaoDi(res, req.query.fitId);
            break;
        default:
            break;
    }
}

// post方法
function post(req, res) {

}


// 获取大哥列表的接口
function getFitList(res) {

    // 连接数据库
    db.connect();

    var sql = "SELECT * FROM fit";

    db.select(sql, function(err, result) {
        if (!err) {
            var obj = {
                code: 0,
                msg: "查询成功",
                list: result
            }

            res.end(JSON.stringify(obj));
        } else {
            var obj = {
                code: -1,
                msg: '查询失败'
            };
            res.end(JSON.stringify(obj));
        }
    });

    // 关闭数据库
    db.disconnect();
}


function getXiaoDi(res, fitId) {

    // 连接数据库
    db.connect();

    // 防止sql注入攻击
    var sql = "SELECT * FROM xiaodi WHERE fit_id=" + fitId;

    db.select(sql, function(err, result) {
        if (!err) {
            var obj = {
                code: 0,
                msg: "查询成功",
                list: result
            }

            res.end(JSON.stringify(obj));
        } else {
            var obj = {
                code: -1,
                msg: '查询失败'
            };
            res.end(JSON.stringify(obj));
        }
    });


    db.disconnect();
}




